package superviseur.database; import java.io.*; import java.util.*; import javax.servlet.*; public class TParams { private static HashMap params; String fichierParams; public TParams(String fichierParams) { this.fichierParams = fichierParams; // Récupération de la table de hachage stockée dans le fichier try { readParams(); } catch (Exception e) { //throw new UnavailableException("Erreur de lecture " + e); // Pour tester le servlet, on peut utiliser le code commenté // ci-dessous au lieu de lever l'exception ci-dessus params = new HashMap(); params.put("NbreVehiculesMax", new Integer(20)); params.put("NbreVehicules", new Integer(10)); try { writeParams(); } catch (Exception e2) { System.err.println("Problème de sauvegarde " + e2); } System.out.println("reinit parametres"); } } public void destroy() { params = null; } //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx public int getNombreVehiculesMax() { return ((Integer)params.get("NbreVehiculesMax")).intValue(); } public void setNombreVehiculesMax(int n) { params.put("NbreVehiculesMax", new Integer(n)); writeParams(); } public int getNombreVehicules() { return ((Integer)params.get("NbreVehicules")).intValue(); } public void setNombreVehicules(int n) { params.put("NbreVehicules", new Integer(n)); writeParams(); } public void evVehicule(boolean entre) { params.put("NbreVehicules", new Integer(((Integer)params.get("NbreVehicules")).intValue() + (entre? 1:-1))); writeParams(); } //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx protected synchronized void writeParams() { try { ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream(fichierParams)); out.writeObject(params); out.close(); } catch (IOException e2) { System.err.println("Problème de sauvegarde " + e2); } } protected synchronized void readParams() throws Exception { try { FileInputStream inf = new FileInputStream(fichierParams); ObjectInputStream in = new ObjectInputStream(inf); params = (HashMap)in.readObject(); in.close(); } catch (Exception e ) { throw new Exception("Erreur lecture params"); } } }